﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Activities;
using Arquitectura.Framework.Data;

namespace Zeus.Comunicaciones.Logica
{

    public sealed class CrearPersona : CodeActivity
    {
        public InArgument<string> Nombre { get; set; }
        public InArgument<DateTime> FechaNacimiento { get; set; }
        public InArgument<string> DocumentoIdentificacion { get; set; }
        public InArgument<string> Notas { get; set; }
        public InArgument<string> Conexion { get; set; }

        protected override void Execute(CodeActivityContext context)
        {
            string nombre = context.GetValue(this.Nombre);
            DateTime fechaNacimiento = context.GetValue(this.FechaNacimiento);
            string documentoIdentificacion = context.GetValue(this.DocumentoIdentificacion);
            string notas = context.GetValue(this.Notas);
            string conexion = context.GetValue(this.Conexion);

            AppDatabase basedatos = new AppDatabase(conexion);

            string query = "EXEC dbo.CrearPersona @Nombre = '{0}', @FechaNacimiento = '{1}',  @DocumentoIdentificacion = '{2}', @Notas = '{3}'";

            query = string.Format(query, nombre, fechaNacimiento.ToShortDateString(), documentoIdentificacion, notas);

            SqlProcedure procedimiento = basedatos.App_Generic(query);

            procedimiento.Run();
        }
    }
}
